package com.abewy.android.apps.klyph.core;
import android.content.Context;
import android.content.res.Configuration;
import android.util.DisplayMetrics;
public class KlyphDevice
{
private static int deviceWidth;
private static int deviceHeight;
private static int deviceDPI;
private static float deviceDensity;
private static float deviceXdpi;
private static float deviceYdpi;
private static boolean valuesInitialized = false;
private static int orientation;
public static void initDeviceValues(Context context)
{
initDeviceValues(context, false);
}
public static void initDeviceValues(Context context, boolean reset)
{
if (reset == true || valuesInitialized == false)
{
final DisplayMetrics displaymetrics = context.getResources().getDisplayMetrics();
deviceWidth = displaymetrics.widthPixels;
deviceHeight = displaymetrics.heightPixels;
deviceDPI = displaymetrics.densityDpi;
deviceDensity = displaymetrics.density;
deviceXdpi = displaymetrics.xdpi;
deviceYdpi = displaymetrics.ydpi;
orientation = context.getResources().getConfiguration().orientation;
valuesInitialized = true;
}
}
public static int getDeviceWidth()
{
return deviceWidth;
}
public static int getDeviceHeight()
{
return deviceHeight;
}
/**
* The dpi type of screen : DisplayMetrics.DENSITY_LOW, MEDIUM or HIGH
*/
public static int getDeviceDPI()
{
return deviceDPI;
}
/**
* The dpi factor of the screen (1.0 for a mdpi screen, 1.5 for hdpi, 2 for
* xhdpi, ...)
*/
public static float getDeviceDensity()
{
return deviceDensity;
}
public static float getDeviceXdpi()
{
return deviceXdpi;
}
public static float getDeviceYdpi()
{
return deviceYdpi;
}
public static boolean isPortraitMode()
{
return orientation == Configuration.ORIENTATION_PORTRAIT;
}
public static boolean isLandscapeMode()
{
return orientation == Configuration.ORIENTATION_LANDSCAPE;
}
}